let app = getApp();
Page({
  data: {
    user: null,
    url: "",
    userId:0,
  },
  getUser(){
    if(!this.data.url){
      wx.showToast({ title: '配置异常，请稍后重试', icon: 'none' });
      return;
    }
    wx.request({
      url: this.data.url+'User/'+this.data.userId,
      success:(resp)=>{
        console.log(resp.data.data);
        this.setData({
          user:resp.data.data
        })
      }
    })
  },
  

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {
   
    // 关键：给id设置默认值（空字符串），避免undefined
    // 优先取options.id，无则用空字符串
    const pageId = options?.id ?? ''; 
  
    this.setData({
      // 确保id不会是undefined
      id: pageId, 
      // 同时给url加兜底，避免null/
      url: app.globalData.url || '', undefined
    });
  
    // 只有当id有效时，才调用查询接口（避免无效请求）

    if (pageId) {
      this.getConsultant();
    } else {
      console.warn('页面跳转时未传递id参数，无法查询咨询师信息');
    }
  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {
    const user = wx.getStorageSync('user') || {};
    this.setData({
      userId: user?.id || 0, // 确保 userId 是数字
      user: user
    });
    // 页面显示时检查登录状态，若未登录则提示并处理
    this.checkLoginAndTip()
   if (this.data.user!=null &&this.data.user!='') {
    this.getUser()   
   }
  },
  // 封装校验方法，可复用
checkLoginAndTip() {
  const user = this.data.user;
  if (!user) {
    wx.showModal({
      title: '提示',
      content: '你还没有登录，请去登录！',
      success: (res) => {
        if (res.confirm) {
          wx.navigateTo({ url: '/pages/login/login' });
        }
      }
    });
    // 返回 false 表示未登录，用于后续逻辑判断
    return false; 
  }
  // 返回 true 表示已登录
  return true; 
},
  // 修改密码
  zhuanxgmm() {
    if (!this.checkLoginAndTip()) {
      // 未登录时，直接 return 不执行后续逻辑
      return; 
    }
    wx.navigateTo({
      url: '/pages/my/xiugaimima/xiugaimima',
    });
  },
  // 我的测评
  zhuanwdcp() {
    if (!this.checkLoginAndTip()) {
      // 未登录时，直接 return 不执行后续逻辑
      return; 
    }
    wx.navigateTo({
      url: '/pages/my/myceping/myceping',
    });
  },
  // 我的咨询
  zhuanwdzx() {
    if (!this.checkLoginAndTip()) {
      // 未登录时，直接 return 不执行后续逻辑
      return; 
    }
    wx.navigateTo({
      url: '/pages/my/myzixun/myzixun',
    });
  },
  // 我的回答
  zhuanwdhd() {
    if (!this.checkLoginAndTip()) {
      // 未登录时，直接 return 不执行后续逻辑
      return; 
    }
    wx.navigateTo({
      url: '/pages/my/myhuida/myhuida',
    });
  },
  // 我的通知
  zhuanwdtz() {
    if (!this.checkLoginAndTip()) {
      // 未登录时，直接 return 不执行后续逻辑
      return; 
    }
    wx.navigateTo({
      url: '/pages/my/mytongzhi/mytongzhi',
    });
  },
  // 课程收藏
  zhuankcsc() {
    if (!this.checkLoginAndTip()) {
      // 未登录时，直接 return 不执行后续逻辑
      return; 
    }
    wx.navigateTo({
      url: '/pages/my/kcsc/kcsc',
    });
  },
  // 绑定手机
  zhuanbdsj() {
    if (!this.checkLoginAndTip()) {
      // 未登录时，直接 return 不执行后续逻辑
      return; 
    }
    wx.navigateTo({
      url: '/pages/my/bdsj/bdsj',
    });
  },
  // 登录（可根据实际情况，若有单独登录按钮时使用，不过一般在 checkLoginStatus 里处理跳转）
  zhuandl() {
    if (!this.checkLoginAndTip()) {
      // 未登录时，直接 return 不执行后续逻辑
      return; 
    }
    wx.navigateTo({
      url: '/pages/login/login',
    });
  },
  // 退出
  logout() {
    const user = this.data.user;
    // 先判断是否已登录
    if (!user) {
      // 未登录状态下点击退出，提示用户
      wx.showToast({
        title: '你尚未登录',
        icon: 'none',
        duration: 2000
      });
      return; // 不执行后续退出操作
    }
  // 已登录状态，执行退出逻辑
  wx.removeStorageSync('user');
  // 清除页面中的用户数据
  this.setData({
    user: null,
    userId: 0
  });
  wx.showToast({
    title: '已退出登录',
    icon: 'success',
    duration: 2000
  });
  // 跳转到首页
  wx.switchTab({
    url: '/pages/my/my',
  });
  },
  // 关于我们
  gywm() {
    wx.navigateTo({
      url: '/pages/my/gywm/gywm',
    });
  },
  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {},

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() {},

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() {},

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {},

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {},

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {},
});